/*****************************************************************************
 *
 * HUSONG PROPRIETARY INFORMATION
 *
 * The information contained herein is proprietary to HUSONG
 * and shall not be reproduced or disclosed in whole or in part
 * or used for any design or manufacture
 * without direct written authorization from HUSONG.
 *
 * Copyright (c) 2015 by HUSONG. All rights reserved.
 *
 *****************************************************************************/
package me.send.broker.service;

import java.util.List;
import java.util.Map;

import me.send.broker.entity.Broker;
import me.send.broker.entity.Feedback;
import me.send.broker.entity.TrainPic;
import me.send.broker.entity.base.ReturnBean;
import me.send.broker.entity.base.TrainTest;
import me.send.broker.pojo.BrokerIndexBean;

/**
 * @author maxmin
 *
 * @date 2015年8月3日 下午5:31:14
 */
public interface BrokerService {
	// 修改昵称 修改头像 修改性别 2015年7月20日09:44:18
	public abstract int update_username(int popid, String username,
			String devicenumber);

	public abstract int update_headerpath(int popid, String headerpath,
			String devicenumber);

	public abstract int update_sex(int popid, int sex,
			String devicenumber);
	
	public int isRegisted(String telephone);
	
	/**
	 * 修改经纪人端用户名和性别
	 * @param sex
	 * @param username
	 * @param popid
	 * @param devicenumbe
	 * @return
	 */
	public abstract int updateInfo(int sex,String username, int popid, String devicenumbe);

	// 根据手机号码 修改手机密码 2015年7月20日09:31:19
	public abstract int update_password(String telephone,
			String password,String code, String devicenumber);

	// 修改用户信息 2015年6月4日09:29:37
	public abstract ReturnBean update_user(String devicenumber, Broker user);

	/**
	 * 用户修改密码
	 */
	public abstract int updatePassword(String telephone,
			String devicenumber, String code, String password);

	/**
	 * 根据手机号码 获取到验证码
	 * 
	 * 2015年5月27日10:16:21
	 */
	public abstract ReturnBean sendCode(String telephone, String devicenumber);

	/**
	 * 验证手机号码是否可以注册
	 */
	public abstract ReturnBean verification(String telephone,
			String devicenumber);

	/**
	 * 用户登录
	 */
	public abstract ReturnBean login(Broker user, String devicenumber);

	/**
	 * 用户注册
	 */
	public abstract ReturnBean register(String telephone, String devicenumber,
			String code, String password,String bindmac,String cityname);

	/**
	 * 刷新用户 更新用户编号 查询用户对象
	 */
	public abstract Map<String, Object> refresh(String devicenumber, int userid);
	
	/**
	 * 经纪人完成培训
	 * @param brokerid
	 * @return
	 */
	public abstract int trained(int brokerid);
	
	/**
	 * 经纪人完成测试
	 * @param brokerid
	 * @return
	 */
	public abstract int tested(int brokerid);
	
	/**
	 * 经纪人认证
	 * @param broker
	 * @return
	 */
	public abstract int authen(Broker broker);
	
	/**
	 * 培训内容的图片
	 * @return
	 */
	public abstract List<TrainPic> trainPics();
	
	/**
	 * 获取测试内容
	 * @return
	 */
	public abstract List<TrainTest> trainTests();
	
	/**
	 * 认证信息详情
	 * @param brokerid
	 * @return
	 */
	public abstract Broker authenInfo(int brokerid);
	
	/**
	 * 经纪人主页信息
	 * @param brokerid
	 * @return
	 */
	public BrokerIndexBean getBrokerInfo(int brokerid);
	
	/**
	 * 经纪人建议反馈
	 * @param feedback
	 * @return
	 */
	public int feedback(Feedback feedback);
}